package com.hsy.crm.web.mapper;

import com.hsy.crm.web.config.CrmMapper;
import com.hsy.crm.web.domain.entity.Brand;
import com.hsy.crm.web.domain.po.report.*;
import com.hsy.crm.web.domain.po.store.StoreReportDetailPo;
import com.hsy.crm.web.domain.po.store.StoreReportSumPo;
import com.hsy.crm.web.domain.vo.report.*;
import com.hsy.crm.web.domain.vo.store.StoreReportDetailVo;

import java.util.List;

public interface ReportMapper extends CrmMapper<Brand> {

    /***************purchase************/

    List<PurchaseTrackPo> purchaseTrack(PurchaseTrackVo profitReportVo);

    List<PurchaseDetailPo> purchaseDetail(PurchaseDetailVo profitReportVo);

    List<PurchaseSumPo> purchaseSumProduct(PurchaseSumVo profitReportVo);

    List<PurchaseSumPo> purchaseSumVendor(PurchaseSumVo profitReportVo);

    /***************market************/

    List<MarketTrackPo> marketTrack(MarketTrackVo marketTrackVo);

    List<MarketDetailPo> marketDetail(MarketDetailVo marketDetailVo);

    List<MarketSumPo> marketSumProduct(MarketSumVo marketSumVo);

    List<MarketSumPo> marketSumVendor(MarketSumVo marketSumVo);

    List<MarketProfitPo> marketProfit(MarketProfitVo marketProfitVo);

    List<MarketProfitPo> marketProfitFifo(MarketProfitVo marketProfitVo);

    List<CustomerCompPo> customerComp(CustomerCompVo customerCompVo);

    List<VendorCompPo> vendorComp(VendorCompVo vendorCompVo);

    List<ProfitPo> profit(ProfitVo profitVo);

    List<StoreReportDetailPo> storeDetail(StoreReportDetailVo vo);

    List<StoreReportSumPo> storeSum(StoreReportDetailVo vo);

}